1. Field of the Invention
The present invention relates to the field of data processing systems. Specifically, the present invention relates to a method and system for decoding of information transmitted to a portable computer system.
2. Related Art
As the components required to build a computer system have reduced in size, new categories of computer systems have emerged. One of the more recent categories of computer systems is the “palmtop” computer system. A palmtop computer system is a computer that is small enough to be held in the hand of a user and is thus “palm-sized.”
In addition to using keyboards, virtual keyboards and the digitizer, it has also proven convenient to exchange data between a computer system and a palmtop computer using a communication interface, such as a serial or parallel input port. Many palmtop computers also include an infrared communication port for transmitting data over a wireless link. Other palmtop computers further include a radio receiver/transmitter for receiving/transmitting data over a wireless link.
All communication circuits introduce some noise and interference into a signal, whether the signal is analog or digital. In addition, signals are distorted along their transmission path by noise and interference. The noise and interference add elements (errors) to the signals that need to be considered in order to recover the original signal. Simple hard decision decoding of analog signals generated by bit streams of zeros and ones is especially susceptible to noise in the presence of inter-symbol interference (ISI).
The binary data stream is uniquely converted to an analog signal for transmission. Each binary bit generates a pulse of either positive or negative polarity. The transmitted signal of the binary bit stream is the summation of all the individual pulses. ISI corrupts the analog signal generated by streams of binary-encoded digital data as follows. The amplitude of a pulse at a particular time, T, is affected by adjacent pulses at times T−1 and T+1. The analog signal is optimally sampled at the peaks of the pulses. Hard decision decoding determines whether the sample was generated by a one or a zero bit by whether the sample is positive or negative.
The worst case ISI scenarios are those for signals corresponding to 1-0-1 and 0-1-0 sequences, since the destructive interference effects on the part of the signal corresponding to the central bit is the most severe. ISI is troublesome because such amplitude variations mean that it takes a smaller amount of noise to push the amplitude to such a level that a decoding error occurs.
Maximum likelihood soft decision decoders are known in the art to be the optimal method of decoding a signal in the presence of white Gaussian noise. See Blahut, Richard: Theory and Practice of Error Correcting Codes, which is hereby incorporated herein by reference.
Error correcting codes are known in the art and are used to encode and decode a signal in such a way that noise and interference errors can be detected and corrected. In a forward error correcting code, extra (redundant) bits (“parity bits”) are added into a stream of data that is to be transmitted to another device. The parity bits are used by the receiving device to detect and correct errors in the received data.
One approach in the prior art involves the application of sub-optimal algorithms that are less computationally intensive. However, this approach is problematic because these have a decreased performance.
Consumer preferences require that palmtops and other such devices be as small, light, and fast as possible. As such, it is desirable to use the processing resources and available memory space, as well as to perform necessary functions such as decoding, as efficiently as possible.